Aspects Using a Graph Rewrite System - A Typical Experience ? ! -
نویسندگان
چکیده
This position paper weighs the bene ts against the problems of using a graph rewrite system for the formal speci cation of an integrated software engineering model and for its implementation using the same graph rewrite system. The integrated software engineering approach, called GRIDS , has been motivated by the shortcomings of software engineering support for real-life software projects. It is based on the formal integration of software engineering aspects for the automatic construction and well-de ned manipulation of situational project frameworks. GRIDS uses the graph rewrite system PROGRES for the formal speci cation of the concepts and for their prototypical implementation. Without claiming to cover the entire eld of graph rewrite systems, the experiences of this particular, graph-based approach are used as example for a discussion about the adequacy, the bene ts, but also the shortcomings and the problems of applying a graph rewrite approach to realize automated software and method engineering support. 1 Integrated Software Engineering The necessity and the bene ts of structured, comprehensive, and sophisticated software engineering for large-scale software system development is since long not subject of discussion anymore (at least in the academic community). The software engineering task is usually sub-divided into three steps: identi cation of the crucial software engineering aspects, de nition of appropriate models for each crucial aspect, and acquisition or in-house development of adequate tools to support the modeling activities and to enact the use of the models. The classical mission of software engineering research is to provide those \appropriate" software engineering models. To ful ll this mission, the complexity of the software engineering task is broken down into its di erent software engineering aspects which are then investigated separately . Consequently, this 1 GRaph-based, Integrated Development of Software M. Nagl, A. Schürr and, M. Münch (Eds.): AGTIVE’99, LNCS 1779, pp. 359-367, 2000. c Springer-Verlag Berlin Heidelberg 2000 proceeding provides models for individual software engineering aspects, as eg. software process models, system architecture models, con guration management models, requirements engineering models. Focusing on a single software engineering aspect may lead to sophisticated partial software engineering models that provide more insights and deeper understanding about these particular aspects. But partial software engineering models are not su cient for real-life software projects, because their scope is too limited. They fail to support comprehensive real-life software projects adequately, because the development team has to work with a set of unrelated or only implicitly related models. Partial software engineering models do not capture the various complex interactions, relationships and dependencies between the di erent crucial software engineering aspects, thus provide potentially incoherent models. Furthermore, they often do not support a modeling and control of project evolution, thereby increasing the lack of integration between the different views onto the software system and project information during the course of the project. The GRIDS project that resulted from the observations described above was triggered by TNO-IAG, a Dutch geo-scienti c organization for contracted research and development which recognized that more than tuning their software and hardware product technology, improving their software process technology would help improving the development of their geo-scienti c software systems. The cornerstones for the project were: { Increase of the exibility in de ning partial software engineering models: A hierarchy of several levels of meta-models enables to capture consistently the di erent models used in software engineering on each level, ranging from general meta-models for software engineering aspects to concrete project frameworks. { Integrationof di erent software engineering aspects into one model: GRIDS de nes an assembly mechanism that allows a method engineer to de ne easier-to-master isolated partial software engineering models which are then automatically assembled to integrated draft software project frameworks. The integrated project frameworks are networks of software engineering fragments which comprise comprehensive project information and which capture relationships and dependencies that exist between di erent software engineering aspects. This constructive approach allows to try-out and vary di erent models for each software engineering aspect as building blocks to come to a suitable situational project framework, and to reuse these building blocks later for other projects. { Modeling and control of project evolution: The range of GRIDS modeling operations formally speci ed does not stop at the de nition of partial models and the construction of project frameworks. The evolution of reallife projects make it necessary to update and to modify a project framework in a well-de ned and controlled way, especially when the not so obvious relationships between di erent software engineering aspects are a ected. 360 Andreas Zamperoni and Gregor Engels
منابع مشابه
Aspect Weaving with Graph Rewriting
This paper introduces GRS-based AOP which explains a large subclass of AOP weavers as graph rewrite systems (GRS). The corresponding class of AOP problems has a formal background since it inherits all features of graph rewrite systems such as criteria for termination , connuence, and unique normal forms. In particular, it it shown that diierent kinds of rewrite rules form diierent weaver classe...
متن کاملRepresentation of Genotype and Phenotype in a Coherent Framework Based on Extended L-Systems
A formal language approach for the specification of ALife models is presented. “Relational Growth Grammars” incorporate rulebased, procedural and object-oriented concepts. By enabling parametric Lindenmayer systems to rewrite multiscaled graphs, it becomes possible to represent genes, plant organs and populations as well as developmental aspects of these entities in a common formal framework. G...
متن کاملThe space usage problem: An evaluation kit for graph reduction semantics
We describe a software tool for specifying operational semantics as a term-graph reduction system. The semantics are guaranteed to accurately model the asymptotic space and time usage of an implementation yet are abstract enough to support reasoning at the program level. Term graphs make explicit all the aspects of reduction relating to space usage as they naturally encode size and address info...
متن کاملModeling DNA Nanodevices Using Graph Rewrite Systems
DNA based nanostructures and devices are becoming ubiquitous in nanotechnology with rapid advancements in theory and experiments in DNA self-assembly which have led to a myriad of DNA nanodevices. However, the modeling methods used by researchers in the field for design and analysis of DNA nanostructures and nanodevices have not progressed at the same rate. Specifically, there does not exist a ...
متن کاملComplexity Analysis of Precedence Terminating Infinite Graph Rewrite Systems
The general form of safe recursion (or ramified recurrence) can be expressed by an infinite graph rewrite system including unfolding graph rewrite rules introduced by Dal Lago, Martini and Zorzi, in which the size of every normal form by innermost rewriting is polynomially bounded. Every unfolding graph rewrite rule is precedence terminating in the sense of Middeldorp, Ohsaki and Zantema. Altho...
متن کامل